// 判断是到了文件的结尾还是出错
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]){
	
	int fd;

	FILE *fp;

	if(argc != 2){
		printf("Please input the current para!\n");
		return -1;
	}

	// 使用fopen函数打开argv[1]指定的文件
	fp = fopen(argv[1], "w+");

	// 使用fgetc获取字符,如果文件为空，则会报错
	fd = fgetc(fp);
	//fputc(fd, stdout);
	// 使用ferror函数判断错误类型
	printf("ferror的返回值为%d\n ", ferror(fp));

	// 在文件末尾写入字符串
	fputs("Hello!This is a String!\n",fp);
	
	// 关闭文件
	fclose(fp);

	// 以只读方式打开文件
	fp = fopen(argv[1], "r");

	// 使用fseek函数定位至文件末尾
	fseek(fp, 0, SEEK_END);

	fgetc(fp);

	if(feof(fp) == 1){
		printf("到达文件末尾!\n");
	}

	// 清楚当前的错误
	clearerr(fp);

	printf("ferror的返回值为%d\n", ferror(fp));
	printf("feof的返回值为%d\n", feof(fp));

	fclose(fp);

	return 0;
}
